package com.xinxin.intelligenceexam.utils;

import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

/**
 * BasicUser: Tianxin
 * Date: 2016-04-19
 * Time: 19:22
 */
public class SharedPreferencesUtil {
    /**
     *取得应用内默认的SharedPreferences
     *
     * @param context 上下文
     * @return
     */
    public static SharedPreferences getDefaultSharedPreferences(Context context) {
        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
        return sharedPreferences;
    }
    /**
     * 保存String类型数据到SharedPreferences
     * @param context 上下文
     * @param name sharedPreference的名字
     * @param key 键
     * @param value 值
     */

    public static void setStringDefault(Context context,
                                 String name, String key, String value) {
        SharedPreferences sharedPreferences = getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = sharedPreferences.edit();// 获取编辑器
        editor.putString(key, value);
        editor.commit();// 提交修改
    }
    /**
     * 保存String类型数据到SharedPreferences
     * @param context 上下文
     * @param name sharedPreference的名字
     * @param key 键
     * @param value 值
     */

    public static void setString(Context context,
                                 String name, String key, String value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(
                name, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();// 获取编辑器
        editor.putString(key, value);
        editor.commit();// 提交修改
    }


    /**
     *取得SharedPreferences中存储的String类型数据,默认值为空
     *
     * @param context 上下文
     * @param name SharedPreferences的名字
     * @param key 键
     * @return
     */
    public static String getString(Context context,
                                   String name, String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(
                name, Context.MODE_PRIVATE);
        String signature = sharedPreferences.getString(key, "");
        return signature;
    }

    /**
     *存储的Int类型数据到SharedPreferences
     *
     * @param context
     * @param name SharedPreferences的名字
     * @param key
     * @return
     */
    public static void setInt(Context context,
                              String name, String key, int value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(
                name, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();// 获取编辑器
        editor.putInt(key, value);
        editor.commit();// 提交修改
    }

    /**
     *取得SharedPreferences中存储的Int类型数据
     *
     * @param context
     * @param name SharedPreferences的名字
     * @param key
     * @return
     */
    public static int getInt(Context context,
                             String name, String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(
                name, Context.MODE_PRIVATE);
        int signature = sharedPreferences.getInt(key, 0);
        return signature;
    }
    /**
     *存储的Boolean类型数据到SharedPreferences
     *
     * @param context
     * @param name SharedPreferences的名字
     * @param key
     * @return
     */
    public static void setBoolean(Context context,
                                  String name, String key, boolean value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(
                name, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();// 获取编辑器
        editor.putBoolean(key, value);
        editor.commit();// 提交修改
    }

    /**
     *取得SharedPreferences中存储的Boolean类型数据，默认返回值为false
     *
     * @param context
     * @param name SharedPreferences的名字
     * @param key
     * @return
     */
    public static boolean getBoolean(Context context,
                                     String name, String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(
                name, Context.MODE_PRIVATE);
        boolean signature = sharedPreferences.getBoolean(key, false);
        return signature;
    }
}